package com.lanou.mapper;

import com.lanou.bean.*;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

public interface VipInfoMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(VipInfo record);

    //插入数据,进行注册
    int insertSelective(VipInfo record);

    VipInfo selectByPrimaryKey(Integer id);

    //根据id更新会员信息
    int updateByIdSelective(VipInfo record);

    //根据vipNo更新会员信息
    int updateByVipNoSelective(VipInfo record);

    int updateVipInfoByPointAndsum(VipInfo record);

    int updateByPrimaryKey(VipInfo record);

    List<VipInfo> selectAllVipInfo1(VipInfo vipInfo);

    List<VipInfo> selectAllVipInfo(VipInfo vipInfo);

    List<VipInfo> selectAllVipInfo2(VipInfo vipInfo);

    //根据addr_id查询地址信息
    String selectAddrInfoByAddrId(int addrId);
    //根据省addr_id查询省
    String selectProvinceByAddrId(int id);

    //根据市addr_id查询市
    String selectCityByAddrId(int addrId);
    //根据addr_id查询省id
    int selectProvinceId(int addrId);
    //根据addr_id查询市id
    int selectCityId(int addrId);
    //查询所有的省信息
    List<Province> selectAllProvince();

    List<City> selectAllCityByProvinceId(int provinceId);


    //更具省名字获取provinceId
    int selectProvinceIdByProvince(String province);

    //根据addrInfo获取id信息
    int selectAddrInfoIdByAddrInfo(String addrInfo);

    //根据addinfo对象更新addrinfo信息
    int updateAddrInfo(AddrInfo addrInfo);
    //根据addrInfo获取AddrInfo
    List<AddrInfo> selectAddrInfoByPC(AddrInfo addrInfo);

    //根据账号和密码查询
    VipInfo selectVipInfoByAP(@Param("vip_account") String vip_account,@Param("password") String password);

    //根据传过来的账户yAP名进行判断
    VipInfo selectVipInfoByVA(String vip_account);


    //根据vip_no获取板块_info
    String selectBankNameByVipNo(String vipNo);
    //根据vip_no获取会员的银行卡号
    String selectBankCardNoByVipNo(String vipNo);
    //根据vip_no获取会员的银行卡类型
    String selectBankTypeByVipNo(String vipNo);
    //更具银行卡账号查询vip_no
    String selectVipNoByBankCardNo(String bankCardNo);

    //根据身份证号获取会员对象
    VipInfo selectVipInfoByIdCard(String idCard);

    //查询最大的会员账号
    String selectMaxVipNo();

    //根据addrid获取省信息
    String selectProvinceByVipNo(int addrid);
    //根据addrid获取市信息
    String selectCityByVipNo(int addrid);

    //根据会员id查询vip_no
    String selectVipNoById(Integer id);



    //根据会员编号更新会员信息(积分减,账户余额减)
    int updateVipInfoPointSumByVipNo(VipInfo vipInfo);

}